Special chars like +,-,
@ Zusammenfassung: Das Zeichen @ (at-Zeichen) wird mit einer Parameterdeklaration verwendet, um anzuzeigen, dass anstelle des Werts ein Verweis auf den Parameter übergeben wird. Beispiele: on setVariable @incomingVar -- notice the @ before the parameter name add 1 to incomingVar end setVariable on mouseUp put 8 into someVariable setVariable someVariable answer "someVariable is now: " & someVariable end mouseUp Das Zeichen @ wird vor einem Parameternamen platziert, um anstelle des Werts einen Verweis auf den Parameter zu übergeben. Übergeben Sie eine Parameterreferenz, wenn ein Handler eine Variable im aufrufenden Handler ändern oder wenn ein Handler mehr als einen Wert zurückgeben soll. Wenn ein Parameter als Referenz übergeben wird, bedeutet dies, dass die in der Variablen enthaltenen Daten nicht doppelt vorhanden sind, wie dies bei der normalen Parameterübergabe der Fall ist. Dies ist in einigen Fällen nützlich, um die Effizienz zu verbessern. Jede Situation, in der Sie wiederholt eine große Variable an einen Handler übergeben, könnte möglicherweise beschleunigt werden, indem Sie sie zu einem Referenzparameter machen. Es ist wichtig, zu verfolgen, welche Parameter als Referenz übergeben werden, um unerwartetes Verhalten zu verhindern. Parameter für einen Handler werden in der ersten Zeile des Handlers deklariert. Wenn dem Namen eines Parameters das Zeichen @ vorangestellt wird, wird der Wert dieses Parameters als Variablenname und nicht als Wert in der Variablen interpretiert. Durch Ändern der Parametervariablen im aufgerufenen Handler wird der Wert der Variablen im aufrufenden Handler geändert. Im obigen Beispiel nimmt der Handler setVariable einen Parameter und fügt einfach 1 hinzu. Da der Parameter für den Handler mit einem führenden @ deklariert ist, übergibt der mouseUp-Handler "someVariable" als Referenz. Das bedeutet, wenn der setVariable-Handler Änderungen am Parameter vornimmt, ändert er die tatsächliche Variable und diese Änderungen wirken sich auf alle weiteren Verweise im MouseUp-Handler auf die Variable aus. Beim Ausführen dieses MouseUp-Handlers wird ein Dialogfeld mit der Meldung "someVariable is now: 9" angezeigt. $ Das Zeichen $ (Dollarzeichen) wird verwendet, um eine Umgebungsvariable auf Unix-Systemen und einen Befehlszeilenparameter auf Unix- oder Windows-Systemen anzuzeigen. Beispiele: put $LOGNAME into field "Login Name" if $0 is not myAppName then answer "Problem initializing!" Verwenden Sie das Schlüsselwort $, um mit der Systemumgebung zu interagieren und herauszufinden, welche Argumente verwendet wurden, wenn die Anwendung über die Befehlszeile gestartet wurde. Das Zeichen $ kennzeichnet zwei Arten spezieller Variablen: Befehlszeilenargumente (auf OS X-, Unix- und Windows-Systemen) und Umgebungsvariablen (auf OS X- und Unix-Systemen). Wenn Sie die Anwendung über die Befehlszeile (auf OS X-, Unix- oder Windows-Systemen) starten, wird der Befehlsname in der globalen Variablen $ 0 gespeichert und alle in der Befehlszeile übergebenen Argumente werden in nummerierten Variablen gespeichert, beginnend mit dem $ -Zeichen. Wenn Sie beispielsweise die Anwendung starten, indem Sie den folgenden Shell-Befehl eingeben: myrevapp -h name dann enthält die globale Variable $ 0 "myrevapp" (der Name der Anwendung), $ 1 enthält "-h" und $ 2 enthält "name". Wenn ein Argument Leerzeichen enthält, muss es in Anführungszeichen in der Befehlszeile stehen: myrevapp -in "new info.txt" -out "new info.xml" Auf Unix- und OS X-Systemen wird eine Variable, deren Name mit dem Zeichen $ beginnt, in die Umgebung der Anwendung exportiert und von Prozessen geerbt, die von der Shell-Funktion oder dem Befehl open process gestartet wurden. Verwenden Sie diese Technik, um eigene Umgebungsvariablen zu erstellen. Sie können auf vorhandene Umgebungsvariablen zugreifen, indem Sie dem Namen der Umgebungsvariablen das Zeichen $ voranstellen. Die folgende Anweisung ruft beispielsweise den Inhalt der Umgebungsvariablen LOGNAME ab: get $LOGNAME & Verkettet zwei Zeichenfolgen. Beispiel: put "foo" & "bar" -- evaluates to "foobar" && Verkettet zwei Zeichenfolgen und fügt zwischen ihnen ein Leerzeichen ein. Es ist gleichbedeutend mit & space & Beispiel: put "foo" && "bar" -- Ergebnis "foo bar" > Vergleicht zwei Werte und gibt wahr zurück, wenn der erste Wert größer als der zweite Wert ist, andernfalls falsch. Beispiele: 1 > 0 -- evaluates true 2 > -15 -- evaluates to true repeat while counter > 0 >= Vergleicht zwei Werte aus und gibt wahr zurück, wenn der erste Wert größer oder gleich dem zweiten Wert ist, andernfalls falsch. Beispiele: put 22 >= 23 -- evaluates to false if theCount >= 0 then go next card end if < Vergleicht zwei Werte und gibt wahr zurück, wenn der erste Wert kleiner als der zweite Wert ist, andernfalls falsch. Beispiele: 3 < 4 -- evaluates to true 7 < (2 + 1) -- evaluates to false if thisVariable < 0 then beep <> Vergleicht zwei Werte und gibt wahr zurück, wenn sie nicht gleich sind, falsch wenn sie gleich sind. Beispiele: if myVar <> 3 then answer "myvar is not 3" <= Compares two values and returns true if the first value is less than or equal to the second value, false otherwise. Examples if myVar <= 21 then answer "myVar is less or equal to 21" () Gruppiert Operanden zusammen. Verwenden Sie Klammern, um die korrekte Code-Interpretation beizubehalten. Beispiele: info within übersetzt innerhalb if ("a" is within field 1) or ("b" is within field 2) then ... 23 * ((4 / 17) + 60) + (- 7) put (quantity * priceEach) + shippingCost * Multipliziert zwei Zahlen oder Arrays(Liste) mit Zahlen. Beispiele: put 3 * 5 -- evaluates to 15 put 1 into tArray1 put 2 into tArray2 put tArray * 10 into tProductArray #now tProductArray1=10 and tProductArray2=10 + addiert zwei Zahlen Beispiel: put 2 + 3 -- returns 5 , Verkettet (verbindet) zwei Strings und fügt ein Komma zwischen ihnen ein. Wenn Sie mit Funktionen und Handlern arbeiten, um Werte zu übergeben, Sie können auch Leerzeichen einfügen, diese werden ignoriert. Beispiel: put "first","second" -- evaluates to "first,second" myHandler myvar1, myVar2, myvar3 put myfunction(myvar1, myVar2, myvar3) - Subtrahiert oder bezeichnet eine Zahl als negativ. Sie können es für Arrays verwenden put 5 - 3 -- returns 2 put -5 into myVar put myArray - 3 into myArray2 -- now all elements of myArray 2 are like myArray minus 3 Wenn in eine Liste(Array) das erste Element oder das zweite Element eine Zahl ist, muss jedes der Listen(Array)-Elemente eine Zahl sein. Wenn von einer Liste(Array) eine Zahl subtrahiert wird, wird die Anzahl von jedem Element subtrahiert. Wenn eine Liste(Array) von einer Liste( Array) subtrahiert wird, müssen beide Listen(Arrays) die gleiche Anzahl von Elementen und die gleiche Dimension haben, und jedes Element in einer Liste( Array) wird von dem entsprechenden Element der anderen Liste(Arrays) subtrahiert. Wenn ein Element eines Arrays leer ist, behandelt der - Operator den Inhalt als Null. / Teilt eine Nummer durch eine andere Nummer oder eine Liste(Array) durch eine andere Liste( Array). Beispiele: put 22/7 into approxPi put 10 into tNumberArray1 put 20 into tNumberArray2 put 10 into tDivisorArray1 put 5 into tDivisorArray2 put tNumberArray / tDivisorArray into tDividedArray put tDividedArray1 & comma & tDividedArray2 # Yields 1,4 = Vergleicht zwei Werte und wertet wahr, wenn sie gleich sind, falsch wenn sie nicht gleich sind. Beispiele: if Var1 = Var2 then ... ABC" = "abc" -- true if and only if caseSensitive is false (standard setting) Beim Vergleichen von Listen(Arrays) prüft der Operator = zuerst, ob die Anzahl der Elemente in jeder Liste (Array) gleich sind, wenn sich die beiden Listen(Arrays) nicht unterscheiden. Wenn die Listen(Arrays) die gleiche Anzahl von Elementen haben, sind sie gleich, wenn jedes Element gleich ist. Konkret heißt das: array1 = array2 wenn (und nur wenn): die Anzahl der Elemente von array1 = die Anzahl der Elemente von array2 und für jedes Element e in array1, array1 e = array2 e. ^ Verwenden Sie den Operator ^, um eine Zahl auf eine Potenz zu erhöhen oder um eine Wurzel einer Zahl zu finden. put 7^3 -- returns 343 \ Das Zeichen \ wird verwendet, um eine Zeile in einem Skript für die Anzeige zu unterbrechen, während sie immer noch als einzelne Anweisung behandelt wird. Beispiele: answer "You've been waiting for" numberOfMinutes & \ "minutes." with "Keep Waiting" or "Cancel" Wenn eine Zeile zu lang ist, um in das Skriptfenster zu passen, verwenden Sie das Zeichen \, um es in zwei (oder mehr) Zeilen zu zerlegen. Eine Zeile, die mit \ geteilt wird, wird im Skripteditor in mehr Zeile angezeigt, aber wenn sie ausgeführt wird, wird sie als einzelne Codezeile behandelt. Der Skript-Editor fügt fortgesetzte Zeilen automatisch ein, wie im obigen Beispiel gezeigt. Ein \ -Zeichen, das in einer Literalzeichenfolge verwendet wird, unterbricht die Zeile nicht, weil das \ als Teil der Anführungszeichenfolge behandelt wird. Die folgende Anweisung verursacht beispielsweise einen Kompilierungsfehler, da das Zeichen \ in den Anführungszeichen steht: answer "This is a test. This is only a test. \ Had this been an actual life..." with "OK" -- BAD EXAMPLE Das obige schlechte Beispiel kann korrigiert werden, indem der Operator verwendet wird, um die lange Zeichenfolge in zwei Zeilen zuschreiben: answer "This is a test. This is only a test." \ "Had this been an actual life..." with "OK" -- good example Die Zeichenfolge wurde in zwei Teilzeichenfolgen aufgeteilt, sodass das Zeichen \ nicht mehr in einer Literalzeichenfolge enthalten ist. Dieses zweite Beispiel verursacht keinen Fehler. Category:Operators Category:Math Category:Array